home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Applications / Alpha.5.96 folder / Tcl / SystemCode / menus.tcl < prev    next >
Encoding:
Text File  |  1994-09-20  |  6.3 KB  |  400 lines  |  [TEXT/ALFA]

  1.  
  2. # My menus.        
  3.  
  4. menu -n File -p fileMenuProc {
  5.     "/Nnew"
  6.     "/Oopen…"
  7.     "/Wclose"
  8.     "closeAll"
  9.     "(-"
  10.     "/Ssave"
  11.     "saveAs…"
  12.     "saveAll"
  13.     "revert"
  14.     "(-"
  15.     "/Yshell"
  16.     "(-"
  17.     "pageSetup…"
  18.     "/Pprint…"
  19.     "(-"
  20.     "/Qquit"
  21. }
  22.  
  23. proc fileMenuProc {menu item} {
  24.     if {$item == "open"} {
  25.         findFile
  26.     } elseif {$item == "close"} {
  27.         killWindow
  28.     } else {
  29.         $item
  30.     }
  31. }
  32.  
  33.  
  34. menu -n Edit {
  35.     "/Zundo"
  36.     "/Dredo"
  37.     "/Lload"
  38.     "(-"
  39.     "/Xcut"
  40.     "/Ccopy"
  41.     "/Vpaste"
  42.     "(-"
  43.     "/.pastePop"
  44.     "yank"
  45.     "/AselectAll"
  46.     "clear"
  47.     "(-"
  48.     {/[shiftLeft}
  49.     {/]shiftRight}
  50.     "/Bbalance"
  51. }
  52.  
  53.  
  54. menu -n Search {
  55.     "/Ffind…"
  56.     "/GrepeatSearchForward"
  57.     "/IrepeatSearchBackward"
  58.     "/TfindInNextFile"
  59.     "searchStart"
  60.     "(-"
  61.     "/EenterSelection"
  62.     "(-"
  63.     "/Ureplace"
  64.     "/Hreplace&FindAgain"
  65.     "replaceAll"
  66.     "(-"
  67.     "/ gotoLine"
  68.     {menu -n namedMarks -p namedMarkProc {
  69.         "set…"
  70.         "goto…"
  71.         "remove…"
  72.         "(-"
  73.         "sort"
  74.         "sortByPosition"}}
  75.     {menu -n unnamedMark -p unnamedMarkproc {
  76.         "set…"
  77.         "exchangePointAndMark"
  78.         "/=hilite"}}
  79.     {menu -n markStack -p markMenuProc { "push" "pop"}}
  80.     {menu -n registers { pointToRegister jumpToRegister }}
  81. }
  82.  
  83. proc namedMarkProc {menu item} {
  84.     switch $item {
  85.         "set"                 {setNamedMark}
  86.         "goto"                {gotoNamedMark}
  87.         "remove"            {removeNamedMark}
  88.         "sort"                {sortMarksFile}
  89.         "sortByPosition"    {orderMarks}
  90.     }
  91. }
  92.  
  93. proc unnamedMarkproc {menu item} {
  94.     switch $item {
  95.         "set"                     {setMark}
  96.         "exchangePointAndMark"    {exchangePointAndMark}
  97.         "hilite"                {markHilite}
  98.     }
  99. }
  100.     
  101. proc markMenuProc {menu item} {
  102.     switch $item {
  103.         "push"     {pushMark}
  104.         "pop"    {popMark}
  105.     }
  106. }
  107.         
  108.     
  109. proc installProc {menu item} {
  110.     switch $item {
  111.         "Electric Alias"     {loadElectricAlias}
  112.         "HTML"                {loadHTML}
  113.         "LaTeX 2.09"        {loadLaTeX}
  114.         "LaTeX2e"            {loadLaTeX}
  115.         "MacPerl"            {loadMacPerl}
  116.     }
  117. }
  118.  
  119.  
  120. menu -n "Utils" {
  121.         {menu -n fileUtils {
  122.             "insertPathName…"
  123.             "insertFile…"
  124.             "fileRemove…"
  125.             "fileInfo…"
  126.             "wordCount"}}
  127.         {menu -m -n compare -p compareProc {
  128.             "Windows"
  129.             "Files"
  130.             "(Directories"}}
  131.         "(-"
  132.         "evaluate…"
  133.         {menu -n KbdMacros {
  134.             "startKeyboardMacro"
  135.             "endKeyboardMacro"
  136.             "executeKeyboardMacro"
  137.             "dumpMacro"}}
  138.         "(-"
  139.         "sortLines"
  140.         "matchingLines"
  141.         "gotoMatch"
  142.         "spellcheckWindow"
  143.         "(-"
  144.         {menu -n NamedClipboards -p namedClipMenuProc {"copy…" "cut…" "paste…"}}
  145.         {menu -m -n install -p installProc {
  146.             "Electric Alias"
  147.             "HTML"
  148.             "MacPerl"
  149.             "(-"
  150.             "LaTeX2e"
  151.             "LaTeX 2.09"
  152.         }}
  153. }
  154.  
  155. proc compareProc {menu item} {
  156.     catch {compare$item} msg
  157.     message $msg
  158. }
  159.  
  160. proc namedClipMenuProc {menu item} {
  161.     switch $item {
  162.         "copy"         "copyNamedClipboard"
  163.         "cut"         "cutNamedClipboard"
  164.         "paste"     "pasteNamedClipboard"
  165.     }
  166. }
  167.  
  168.         
  169. menu    -n Mode {
  170.         {menu -n flags -p editFlag {}}
  171.         {menu -n vars -p editVar {}}
  172.         "(-"
  173.         "describeBinding"
  174.         "listBindings"
  175.         {menu -n asciiEtc {
  176.             "quoteChar"
  177.             "(-"
  178.             "keyCode"
  179.             "keyAscii"
  180.             "getAscii"
  181.             "insertAscii"}}
  182.         "(-"
  183.         "setFontsTabs…"
  184.         "(-"
  185.         {menu -m -n switchTo -p switchProc {
  186.             "Add…"
  187.             "(-"}}
  188.         "toolserverShell"
  189. }
  190.  
  191. # ==== NOTE:  rectMarkHilite, onespace, centerRedraw, doTab
  192. menu    -n Convert {
  193.         "fillRegion"
  194.         "fillParagraph"
  195.         "wrapRegion"
  196.         "wrapParagraph"
  197.         "(-"
  198.         "zapInvisibles"
  199.         "tabsToSpaces"
  200.         "spacesToTabs"
  201.         "(-"
  202.         {menu    -n Strings {
  203.             "insertPrefix"
  204.             "insertSuffix"
  205.             "removePrefix"
  206.             "removeSuffix"
  207.             "setPrefix"
  208.             "setSuffix"}}
  209.         {menu    -n Comment {
  210.             "transposeChars"
  211.             "transposeWords"
  212.             "commentBox"
  213.             "uncommentBox"}}
  214.         "(-"
  215.         {menu    -n Filters {
  216.             "replaceInRegion"
  217.             "filterLines"
  218.             "filterParagraphs"
  219.             "sortParagraphs"
  220.             "fillRegionByPar"
  221.             "lineToParagraph"
  222.             "paragraphToLine"}}
  223.         "downcaseRegion"
  224.         "upcaseRegion"
  225. }
  226.  
  227. # Real Kludge
  228. proc helpMenuProc {menu item} {
  229.     global HOME helpMenu
  230.     
  231.     if {$menu == $helpMenu} {
  232.         edit -r $HOME:Help:$item
  233.     } else {
  234.         edit -r $HOME:Help:$menu:$item
  235.     }
  236.     if {$item == "Intro"} {
  237.         global winModes
  238.         
  239.         set nm [lindex [winNames -f] 0]
  240.         set winModes($nm) Help
  241.         changeMode Help
  242.     }
  243. }
  244.  
  245. proc strip {arg} {
  246.     if {[regsub -all {\\([][\{\}])} $arg {\1} v]} {return $v}
  247.     return $arg
  248. }
  249.  
  250.  
  251. set men {Intro "(-" "Alpha Commands" "Tcl Commands" "(-" }
  252. foreach f [lsort -ignore [glob $HOME:Help:*]] {
  253.     set f [file tail $f]
  254.     if {($f != "Intro") && ($f != "Alpha Commands") && ($f != "Tcl Commands")} {
  255.         lappend men $f
  256.     }
  257. }
  258.     
  259. menu -n $helpMenu -m -p helpMenuProc $men
  260. unset men
  261.  
  262.  
  263. proc escapeSpaces {str} {
  264.     regsub -all { } $str {\ } str2
  265.     return $str2
  266. }
  267.  
  268.  
  269. proc switchProc {menu name} {
  270.     global switchTo
  271.  
  272.     if {$name == "Add"} then {
  273.         set fName [getfile "Pick an app:"]
  274.         set nm [file tail $fName]
  275.         addMenuItem -m switchTo $nm
  276.         addUserLine "addMenuItem -m switchTo \"$nm\""
  277.  
  278.         set switchTo($nm) "$fName"
  279.         addUserLine "set switchTo([escapeSpaces $nm]) \{$fName\}"
  280.     } else {
  281.         set blah [array names switchTo]
  282.         if {[catch {switchTo $name}]} {
  283.             launch -f $switchTo($name)
  284.         }
  285.     }
  286. }
  287.         
  288.  
  289. menu -n $winMenu -p menuWin {
  290.         {menu -n arrange {
  291.             "vertically^1"
  292.             "horizontally^2"
  293.             "tiled^3"
  294.             "overlay^4"}}
  295.         "(-"
  296.         "//zoom"
  297.         "iconify"
  298.         "dispFullName"
  299.         "toggleScrollbar"
  300.         "(-"
  301.         "nextWindow"
  302.         "swapWithNext"
  303.         "/;chooseAWindow"
  304.         "(-"
  305. }
  306.  
  307.  
  308. # We may be reloading, so add whatever windows we have
  309. if {[info exists winNameToNum]} {
  310.     set nms [array names winNameToNum]
  311.     foreach name $nms {
  312.         if {$fullNames} {
  313.             set item $name
  314.         } else {
  315.             regexp {[^:]*$} $name item
  316.         }
  317.         set num $winNameToNum($name)
  318.         if {$num < 10}     {
  319.             addMenuItem -m $winMenu /$num$item
  320.         } else {
  321.             addMenuItem -m $winMenu $item
  322.         }
  323.     }
  324. }
  325.  
  326. insertMenu "File"
  327. insertMenu "Edit"
  328. insertMenu "Search"
  329. insertMenu "Utils"
  330. insertMenu "Mode"
  331. enableMenuItem NamedClipboards pasteNamedClipboard off
  332. insertMenu "Convert"
  333. menu -n $fsetMenuName {}; insertMenu $fsetMenuName
  334. insertMenu $winMenu
  335. catch {insertMenu $helpMenu}
  336.  
  337.  
  338. # The 'Files' menu can instantiate itself from the THINK Project Manager if 
  339. # it is running. 
  340. menu -n $thinkMenu {
  341.     "/-think"
  342.     "openHeader"
  343.     "menu -n thinkFlags {}"
  344.     "(-"
  345.     "/Kcompile"
  346.     "checkSyntax"
  347.     "searchNextFile"
  348.     "(-"
  349.     "add"
  350.     "addAndCompile"
  351.     "(-"
  352.     "disassemble"
  353.     "preprocess"
  354.     "precompile"
  355.     "(-"
  356.     "bringUpToDate"
  357.     "make"
  358.     "(-"
  359.     "debug"
  360.     "/Rrun"
  361. }
  362.  
  363.  
  364. menu -n "$cwarrierMenu" -p codeWarrierProc {
  365.     "switchTo"
  366.     "(-"
  367.     "addFile"
  368.     "compile"
  369.     "(-"
  370.     "update"
  371.     "make"
  372.     "(-"
  373.     "run"
  374. }
  375.  
  376.  
  377.  
  378. menu -n $thinkRefMenu {
  379.     "gotoReference"
  380.     "(-"
  381.     "displayTrapTemplate"
  382.     "insertTrapTemplate"
  383.     "lookupTrap"
  384. }
  385.  
  386. menu -n $tclMenu -p tclMenuProc {
  387.     "traceTclProc…"
  388.     "(dumpTraces"
  389.     "(-"
  390.     "rebuildTclIndices"
  391.     "(-"
  392.     "getVarValue…"
  393.     "procDefinition…"
  394. }
  395.  
  396.  
  397. menu -n $terrMenu {}
  398.  
  399. menu -n $toolserverMenu {}
  400.